<header> TCP包装器</header>
<h3>模式</h3>访问控制语言实现以下模式： <ul>
    <li>以“。”开头的字符串。字符。如果主机名的最后一部分与指定的模式匹配，则匹配该主机名。例如，模式“ .tue.nl”与主机名“ wzv.win.tue.nl”匹配。 </li>
    <li>以“。”结尾的字符串。字符。如果主机地址的第一个数字字段与给定的字符串匹配，则匹配该主机地址。例如，模式“ 131.155”。与（几乎）埃因霍温大学网络（131.155.xx）上每个主机的地址匹配。 </li>
    <li>以&#39;@&#39;字符开头的字符串被视为NIS（以前称为YP）网络组名称。如果主机名是指定网络组的主机成员，则匹配该主机名。守护进程名称或客户端用户名称不支持Netgroup匹配。 </li>
    <li> “ nnnn / mmmm”形式的表达式被解释为“ net/mask”对。如果“ net”等于地址和“掩码”的按位与，则匹配IPv4主机地址。例如，网络/掩码模式“ 131.155.72.0/255.255.254.0”与“ 131.155.72.0”至“ 131.155.73.255”范围内的每个地址匹配。 </li>
    <li> “ [n：n：n：n：n：n：n：n] / m”形式的表达式被解释为“ [net]/prefixlen”对。如果“ net”的“ prefixlen”位等于该地址的“ prefixlen”位，则匹配IPv6主机地址。例如，[net] /前缀模式“ [3ffe：505：2：1 ::]/64”会匹配“ 3ffe：505：2：1：”范围内的每个地址？到&#39;3ffe：505：2：1：ffff：ffff：ffff：ffff&#39;。 </li>
    <li>以&#39;/&#39;字符开头的字符串被视为文件名。如果主机名或地址与命名文件中列出的任何主机名或地址模式匹配，则匹配该主机名或地址。文件格式为零或更多行，零或多个主机名或地址模式用空格分隔。文件名模式可以在任何可以使用主机名或地址模式的地方使用。 </li>
    <li>通配符“ *”和“？”可以用来匹配主机名或IP地址。这种匹配方法不能与“ net/mask”匹配，以“。”开头的主机名匹配一起使用。或以“。”结尾的IP地址匹配。 </li>
</ul>
<h3>通配符</h3>访问控制语言支持显式通配符： <table border>
    <tr>
        <td> <b>所有</b> </td>
        <td>通用通配符始终匹配。 </td>
    </tr>
    <tr>
        <td> <b>本地</b> </td>
        <td>匹配名称不包含点字符的任何主机。 </td>
    </tr>
    <tr>
        <td> <b>未知</b> </td>
        <td>匹配名称未知的任何用户，并匹配名称或地址未知的任何主机。请谨慎使用此模式：由于临时名称服务器问题，主机名可能不可用。当软件无法确定正在与之通信的网络类型时，网络地址将不可用。 </td>
    </tr>
    <tr>
        <td> <b>知道的</b> </td>
        <td>匹配名称已知的任何用户，以及名称和地址已知的任何主机。请谨慎使用此模式：由于临时名称服务器问题，主机名可能不可用。当软件无法确定正在与之通信的网络类型时，网络地址将不可用。 </td>
    </tr>
    <tr>
        <td> <b>泛醇</b> </td>
        <td>匹配名称不匹配其地址的任何主机。使用-DPARANOID（默认模式）构建tcpd时，即使在查看访问控制表之前，它也会丢弃来自此类客户端的请求。当您想要对此类请求进行更多控制时，不使用-DPARANOID进行构建。 </td>
    </tr>
</table>
<h3>经营者</h3> <b>EXCEPT</b>预期用途的格式为：“ list_1 EXCEPT list_2”；除非与list_2匹配，否则此构造匹配与list_1匹配的任何内容。可以在daemon_lists和client_lists中使用EXCEPT运算符。 EXCEPT运算符可以嵌套：如果控制语言允许使用括号，则&#39;a EXCEPT b EXCEPT c&#39;将解析为&#39;（a EXCEPT（b EXCEPT c））&#39;。 <h3> Shell命令</h3>如果第一个匹配的访问控制规则包含shell命令，则该命令将受% <letter>替换（请参阅下一节）。结果由/bin/sh子进程执行，其标准输入，输出和错误连接到/dev/null。如果您不想等到命令结束，请在命令末尾指定“＆”。 <p> Shell命令不应依赖inetd的PATH设置。相反，它们应使用绝对路径名，或者应以显式PATH = whatever语句开头。 <h3>% 扩展</h3> Shell命令中提供以下扩展： <table>
            <tr>
                <td> %a（%A） </td>
                <td>客户端（服务器）主机地址。 </td>
            </tr>
            <tr>
                <td> %c </td>
                <td>客户信息：user@host，user@address，主机名或仅是地址，具体取决于可用的信息量。 </td>
            </tr>
            <tr>
                <td> %d </td>
                <td>守护进程名称（argv[0]值）。 </td>
            </tr>
            <tr>
                <td> %h（%H） </td>
                <td>客户端（服务器）的主机名或地址（如果主机名不可用）。 </td>
            </tr>
            <tr>
                <td> %n（%N） </td>
                <td>客户端（服务器）主机名（或“未知”或“偏执狂”）。 </td>
            </tr>
            <tr>
                <td> %p </td>
                <td>守护进程ID。 </td>
            </tr>
            <tr>
                <td> %s </td>
                <td>服务器信息：daemon@host，daemon@address或仅是守护程序名称，具体取决于可用的信息量。 </td>
            </tr>
            <tr>
                <td> %u </td>
                <td>客户端用户名（或“未知”）。 </td>
            </tr>
            <tr>
                <td> %% </td>
                <td>扩展为单个&#39;%？字符。 </td>
            </tr>
        </table>下划线会替换%扩展名中可能会引起外壳混乱的字符。
        <hr />